Skip to content

Feature/SE integration #26

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open

Feature/SE integration #26

wants to merge 26 commits into from

Conversation

iceseer
Copy link
Contributor

@iceseer iceseer commented Apr 24, 2025

No description provided.

iceseer and others added 19 commits March 18, 2025 13:18
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>

# Conflicts:
#	src/modules/module.hpp
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
# Conflicts:
#	src/loaders/loader.hpp
Signed-off-by: Dmitriy Khaustov aka xDimon <[email protected]>
@iceseer iceseer requested a review from xDimon April 28, 2025 07:09
iceseer added 2 commits June 3, 2025 20:25
# Conflicts:
#	src/se/impl/common.hpp
@kamilsa kamilsa requested a review from Harrm June 4, 2025 08:45
@iceseer iceseer force-pushed the feature/se branch 2 times, most recently from c710fe6 to edaa255 Compare June 5, 2025 06:12
@iceseer iceseer force-pushed the feature/se branch 2 times, most recently from 3d0fdf7 to 0cad2a2 Compare June 5, 2025 06:13
[remove] configurator changes
@@ -29,6 +40,9 @@ namespace jam::injector {
std::shared_ptr<app::Configuration> configuration);

std::shared_ptr<app::Application> injectApplication();
std::shared_ptr<Subscription> getSE();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No needed anymore

using se_ptr = std::shared_ptr<Subscription>;
se_ptr se_;

SeHolder(se_ptr se);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about copy, move constructors and assignment operators?

@@ -41,14 +42,23 @@ namespace jam::metrics {

namespace jam::app {

struct SeHolder final {
using se_ptr = std::shared_ptr<Subscription>;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
using se_ptr = std::shared_ptr<Subscription>;
using SePtr = std::shared_ptr<Subscription>;

To match existing naming case.


# Set C++ standard
target_compile_features(${MODULE} PRIVATE
cxx_std_20
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cxx_std_20
cxx_std_23


namespace jam::se {

struct IDispatcher {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we have a convention to prefix interfaces with "I"?

std::thread::id id_;

private:
inline void checkLocked() {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
inline void checkLocked() {
void checkLocked() {


return std::chrono::microseconds(0ull);
}
return std::chrono::minutes(10ull);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why 10?

Comment on lines +149 to +150
} catch (...) {
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you comment here?

Comment on lines +165 to +166
std::lock_guard lock(tasks_cs_);
return is_busy_;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
std::lock_guard lock(tasks_cs_);
return is_busy_;
std::lock_guard lock(tasks_cs_);
return is_busy_;

Why is accessing is_busy_ require locking tasks_cs_? I suspect this relation can be easily broken with future refactors since it's pretty unintuitive, what about SafeObject?


namespace jam::se {

struct IDisposable {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please comment.

template <typename... Args>
static constexpr EngineHash getSubscriptionHash() {
#ifdef _WIN32
constexpr EngineHash value = CT_MURMUR2(__FUNCSIG__);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a separate macro for this? I think it's going to be useful in several places.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean for cross platform function name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants